package example.util;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class ConfigManager {
    private static Properties properties;
    private static ConfigManager configManager = new ConfigManager();

    /**
     * 杜绝外界创建该类对象 私有构造方法
     */
    private ConfigManager() {
        String configFile = "db.properties";
        properties = new Properties();
        InputStream is = ConfigManager.class.getClassLoader().getResourceAsStream(configFile);  //加载配置文件
        try {
            properties.load(is);
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 对外提供的ConfigManager实例的方法
     * 懒汉模式 类加载快 获取对象数度慢
     */
//    public static synchronized ConfigManager getInstance(){
//        if(configManager == null){
//            configManager = new ConfigManager();
//        }
//        return configManager;
//    }

    //饿汉模式 类加载慢 获取对象速度快
    public static ConfigManager getInstance() {
        return configManager;
    }

    /**
     * 读取配置文件信息
     */
    public String getValue(String key) {
        return properties.getProperty(key);
    }

}
